package com.wx.mall.operate.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.wx.mall.operate.dto.RebBrandDto;
import com.wx.mall.operate.dto.RebBrandTwoDto;
import com.wx.mall.operate.entity.RebBrand;
import com.wx.mall.operate.mapper.RebBrandMapper;
import com.wx.mall.operate.service.IRebBrandService;
import com.wx.mall.operate.service.IVBrandsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author z
 * @since 2020-6-4
 */
@Service
public class RebBrandServiceImpl extends ServiceImpl<RebBrandMapper, RebBrand> implements IRebBrandService {

    @Autowired
    IVBrandsService ivBrandsService;

    @Autowired
    IRebBrandService iRebBrandService;

    @Override
    public List<RebBrand> findABrand(RebBrandDto dto) {
        iRebBrandService.setBrands();
        ivBrandsService.finds(dto.getIds());
        PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
        QueryWrapper<RebBrand> queryWrapper=new QueryWrapper<>();
        queryWrapper.orderByAsc("id");
        List<RebBrand> list2 = this.list(queryWrapper);
        return list2;
    }

    @Override
    public int setBrands() {
        QueryWrapper<RebBrand> queryWrapper=new QueryWrapper<>();
        queryWrapper.orderByAsc("id");
        List<RebBrand> list = this.list(queryWrapper);
        int rav=0;
        for (RebBrand v:list
        ) {
            RebBrand rebBrand=new RebBrand();
            rebBrand.setId(v.getId());
            RebBrand byId = iRebBrandService.getById(rebBrand.getId());
            byId.setState(0);
            boolean b = iRebBrandService.updateById(byId);
            if (b==true){
               rav=1;
            }else {
               rav=0;
            }
        }
        return rav;
    }

    @Override
    public List<RebBrand> findScreenBrand(RebBrandTwoDto dto) {
        iRebBrandService.setBrands();
        ivBrandsService.finds(dto.getIds());
        PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
        QueryWrapper<RebBrand> queryWrapper = new QueryWrapper<>();
        if (dto.getSortId()!=null){
            queryWrapper.eq("sort_id",dto.getSortId());
        };
        List<RebBrand> list = this.list(queryWrapper);
        return list;
    }
}
